MCPInstall

decay

Manage evidence freshness by identifying stale decisions and providing governance actions

Installs
1.2K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/neolabhq/context-engineering-kit --skill decay
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads decay automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Evidence Freshness Management

Manages evidence freshness by identifying stale decisions and providing governance actions. Implements FPF B.3.4 (Evidence Decay).

Key principle: Evidence is perishable. Decisions built on expired evidence carry hidden risk.


Quick Concepts

What is "stale" evidence?

Every piece of evidence has a valid_until date. A benchmark from 6 months ago may no longer reflect current system performance. A security audit from before a major dependency update doesn't account for new vulnerabilities.

When evidence expires, the decision it supports becomes questionable - not necessarily wrong, just unverified.

What is "waiving"?

Waiving = "I know this evidence is stale, I accept the risk temporarily."

Use it when:

  • You're about to launch and don't have time to re-run all tests
  • The evidence is only slightly expired and probably still valid
  • You have a scheduled date to refresh it properly

A waiver is NOT ignoring the problem - it's explicitly documenting that you know about the risk and accept it until a specific date.

The Three Actions

SituationActionWhat it does
Evidence is old but decision is still goodRefreshRe-run the test, get fresh evidence
Decision is obsolete, needs rethinkingDeprecateDowngrade hypothesis, restart evaluation
Accept risk temporarilyWaiveRecord the risk acceptance with deadline

Action (Run-Time)

Step 1: Generate Freshness Report

  1. List all evidence files in .fpf/evidence/
  2. For each evidence file:
    • Read valid_until from frontmatter
    • Compare with current date
    • Classify as FRESH, STALE, or EXPIRED

Step 2: Present Report

## Evidence Freshness Report

### EXPIRED (Requires Action)

| Evidence | Hypothesis | Expired | Days Overdue |
|----------|------------|---------|--------------|
| ev-benchmark-2024-06-15 | redis-caching | 2024-12-15 | 45 |
| ev-security-2024-07-01 | auth-module | 2025-01-01 | 14 |

### STALE (Warning)

| Evidence | Hypothesis | Expires | Days Left |
|----------|------------|---------|-----------|
| ev-loadtest-2024-10-01 | api-gateway | 2025-01-20 | 5 |

### FRESH

| Evidence | Hypothesis | Expires |
|----------|------------|---------|
| ev-unittest-2025-01-10 | validation-lib | 2025-07-10 |

### WAIVED

| Evidence | Waived Until | Rationale |
|----------|--------------|-----------|
| ev-perf-old | 2025-02-01 | Migration pending |

Step 3: Handle User Actions

Based on user response, perform one of:

Refresh

User: "Refresh the redis caching evidence"

  1. Navigate to the hypothesis in .fpf/knowledge/L2/
  2. Re-run validation to create fresh evidence

Deprecate

User: "Deprecate the auth module decision"

  1. Move hypothesis from L2 to L1 (or L1 to L0)
  2. Create deprecation record:
# In .fpf/evidence/deprecate-auth-module-2025-01-15.md
---
id: deprecate-auth-module-2025-01-15
hypothesis_id: auth-module
action: deprecate
from_layer: L2
to_layer: L1
created: 2025-01-15T10:00:00Z
---

# Deprecation: auth-module

**Reason**: Evidence expired, technology landscape changed

**Next Steps**: Run `/fpf:propose-hypotheses` to explore alternatives
  1. Move the hypothesis file:
mv .fpf/knowledge/L2/auth-module.md .fpf/knowledge/L1/auth-module.md

Waive

User: "Waive the benchmark until February"

  1. Create waiver record:
# In .fpf/evidence/waiver-benchmark-2025-01-15.md
---
id: waiver-benchmark-2025-01-15
evidence_id: ev-benchmark-2024-06-15
waived_until: 2025-02-01
created: 2025-01-15T10:00:00Z
---

# Waiver: ev-benchmark-2024-06-15

**Evidence**: ev-benchmark-2024-06-15
**Hypothesis**: redis-caching
**Waived Until**: 2025-02-01
**Rationale**: Migration pending, will re-run after completion

**Accepted By**: User
**Created**: 2025-01-15

**WARNING**: This evidence returns to EXPIRED status after 2025-02-01.

Natural Language Usage

You don't need to memorize evidence IDs. Just describe what you want.

Example Workflow

User: /fpf:decay

Agent shows report with stale evidence

User: Waive the benchmark until February, we'll re-run it after the migration.

Agent: Creating waiver for ev-benchmark-2024-06-15 until 2025-02-01.
       Rationale: "Re-run after migration"

       [Creates .fpf/evidence/waiver-benchmark-2025-01-15.md]

User: The vendor API is being discontinued. Deprecate that decision.

Agent: Deprecating hypothesis-vendor-api from L2 to L1.
       [Moves file, creates deprecation record]

       Next step: Run /fpf:propose-hypotheses to explore alternatives.

WLNK Principle

A hypothesis is STALE if any of its evidence is expired (and not waived).

This is the Weakest Link (WLNK) principle: reliability = min(all evidence). One stale piece makes the whole decision questionable.


Audit Trail

All actions are logged:

ActionWhat's Recorded
Deprecatefrom_layer, to_layer, reason, date
Waiveevidence_id, until_date, rationale, date

Files created in .fpf/evidence/:

  • deprecate-{hypothesis}-{date}.md
  • waiver-{evidence}-{date}.md

Common Workflows

Weekly Maintenance

/fpf:decay                    # See what's stale
# For each stale item: refresh, deprecate, or waive

Pre-Release

/fpf:decay                    # Check for stale decisions
# Either refresh evidence or explicitly waive with documented rationale
# Waiver rationales become part of release documentation

After Major Change

# Dependency update, API change, security advisory...
/fpf:decay                    # See what's affected
# Deprecate obsolete decisions
# Start new hypothesis cycle for replacements

FAQ

What does the decay skill do?

Manage evidence freshness by identifying stale decisions and providing governance actions

How do I install decay?

Run npx skills add https://github.com/neolabhq/context-engineering-kit --skill decay in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/decay/ (personal) or .claude/skills/decay/ (project).

Which AI agents can use decay?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is decay safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains decay?

It is published by neolabhq in neolabhq/context-engineering-kit. It has 1,155 recorded installs.

More from neolabhq/context-engineering-kit

View all →

prompt-engineering

neolabhq/context-engineering-kit

Use this skill when you writing commands, hooks, skills for Agent, or prompts for sub agents or any other LLM interaction, including optimizing prompts, improving LLM outputs, or designing production prompt templates.

AI & Agents1.4K installs

thought-based-reasoning

neolabhq/context-engineering-kit

Use when tackling complex reasoning tasks requiring step-by-step logic, multi-step arithmetic, commonsense reasoning, symbolic manipulation, or problems where simple prompting fails - provides comprehensive guide to Chain-of-Thought and related prompting techniques (Zero-shot CoT, Self-Consistency, Tree of Thoughts, Least-to-Most, ReAct, PAL, Reflexion) with templates, decision matrices, and research-backed patterns

Frontend & Design1.4K installs

context-engineering

neolabhq/context-engineering-kit

Understand the components, mechanics, and constraints of context in agent systems. Use when writing, editing, or optimizing commands, skills, or sub-agents prompts.

AI & Agents1.4K installs

reflect

neolabhq/context-engineering-kit

Reflect on previus response and output, based on Self-refinement framework for iterative improvement with complexity triage and verification

1.4K installs

write-concisely

neolabhq/context-engineering-kit

Apply writing rules to any documentation that humans will read. Makes your writing clearer, stronger, and more professional.

Docs & Writing1.3K installs

kaizen

neolabhq/context-engineering-kit

Use when Code implementation and refactoring, architecturing or designing systems, process and workflow improvements, error handling and validation. Provide tehniquest to avoid over-engineering and apply iterative improvements.

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs