assumptions

$npx mdskill add Kastalien-Research/thoughtbox/assumptions

Track, verify, and query assumptions about external dependencies and system behavior.

  • Prevents costly rediscovery of known failures by maintaining an assumption registry.
  • Uses Read, Write, Bash, and WebSearch tools to manage and verify assumptions.
  • Determines action based on command: list, add, verify, or stale.
  • Outputs assumption records as JSONL files and displays formatted tables.

SKILL.md

.github/skills/assumptionsView on GitHub ↗
---
name: assumptions
description: Manage the assumption registry — track, verify, and query assumptions about external dependencies and system behavior. Prevents costly rediscovery of known failures.
argument-hint: <list|add|verify|stale> [args]
user-invocable: true
allowed-tools: Read, Glob, Grep, Bash, Write, WebSearch, WebFetch
---

Manage assumptions: $ARGUMENTS

## Commands

Parse the first word of $ARGUMENTS to determine the command:

### `list` — Show all tracked assumptions
1. Read all `.assumptions/*.jsonl` files
2. Parse each line as a JSON record
3. Display sorted by confidence (lowest first) or staleness (oldest verification first)
4. Format as a table: ID | Category | Claim | Confidence | Last Verified | Status

### `add` — Register a new assumption
Parse remaining arguments for: `--category`, `--claim`, `--evidence`, `--source`

Create a new assumption record in `.assumptions/registry.jsonl`:

```json
{
  "id": "<category>-<short-slug>",
  "category": "<api|dependency|behavior|environment|tooling>",
  "claim": "<what we assume to be true>",
  "evidence": "<what supports this assumption>",
  "source": "<where this was discovered>",
  "confidence": 0.8,
  "created": "<ISO 8601>",
  "last_verified": "<ISO 8601>",
  "verification_method": "<how to test this>",
  "failure_history": [],
  "status": "active",
  "blast_radius": "<what breaks if this assumption is wrong>"
}
```

### `verify` — Re-verify an assumption
1. Read the assumption record by ID
2. Execute the verification method (may involve web search, API calls, or code checks)
3. Update `last_verified` timestamp and `confidence` score
4. If verification fails, add to `failure_history` and reduce confidence
5. If confidence drops below 0.3, mark status as `suspect` and warn

### `stale` — Show assumptions that need re-verification
1. Read all assumption records
2. Filter to those where `last_verified` is more than 14 days ago
3. Sort by blast_radius (highest first)
4. Display with suggested verification actions

### `seed` — Seed registry from MEMORY.md gotchas
1. Read MEMORY.md
2. Extract entries from "Gotchas", "Known Bugs", and "MCP Knowledge API Gotchas" sections
3. For each entry, create an assumption record with:
   - category: inferred from content (api, dependency, behavior, etc.)
   - claim: the gotcha statement
   - evidence: "Discovered empirically" + date from MEMORY.md
   - confidence: 0.9 (verified by experience)
   - verification_method: suggested test

## Schema

Each assumption record:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| id | string | yes | Unique identifier (category-slug format) |
| category | enum | yes | api, dependency, behavior, environment, tooling |
| claim | string | yes | What we assume to be true |
| evidence | string | yes | What supports this claim |
| source | string | yes | Where this was discovered (session, test, docs) |
| confidence | float | yes | 0.0 to 1.0 confidence score |
| created | string | yes | ISO 8601 creation timestamp |
| last_verified | string | yes | ISO 8601 last verification timestamp |
| verification_method | string | no | How to re-test this assumption |
| failure_history | array | no | Past verification failures with timestamps and details |
| status | enum | yes | active, suspect, retired, verified |
| blast_radius | string | no | What breaks if this assumption is wrong |
| dependencies | array | no | Other assumptions this depends on |

## Output

Always end with a summary:

```
## Assumption Registry Status

Total: {N} assumptions
Active: {N} | Suspect: {N} | Retired: {N}
Stale (>14 days): {N}
Highest blast radius unverified: {assumption_id}
```

More from Kastalien-Research/thoughtbox

SkillDescription
capture-learningCapture significant learnings from the current work session. Structures insights for future sessions and updates agent memory.
claude-opus-4-6-prompting>
claude-promptWrite or improve prompts for Claude using Anthropic's official best practices. Creates system prompts, agent prompts, tool descriptions, and MCP resource templates. Pass an existing prompt to improve it, or describe what you need to create one from scratch.
coolify-composeConvert Docker Compose files to Coolify templates. Use when creating Coolify services, converting docker-compose.yml for Coolify deployment, working with SERVICE_URL/SERVICE_PASSWORD magic variables, or troubleshooting Coolify compose errors.
crafting-effective-readmesUse when writing or improving README files. Not all READMEs are the same — provides templates and guidance matched to your audience and project type.
diagramGenerate architecture diagrams for a codebase subsystem or module. Explores source files and produces Mermaid diagrams in docs/.
diataxisStructure, classify, and write documentation using the Diátaxis framework. Use when writing docs, README files, guides, tutorials, how-to guides, API references, or organizing documentation architecture. Also use when asked to improve documentation, restructure docs, decide what type of doc to write, or classify existing content. Covers tutorials, how-to guides, reference, and explanation.
escalateFormat a structured escalation to the human decision-maker (Chief Agentic). Use when hitting an escalation threshold.
frontend-design-principlesCreate polished, intentional frontend interfaces. Use this skill when building any UI — dashboards, admin panels, landing pages, marketing sites, or web applications. Routes to specialized guidance based on context.
hddDEPRECATED — use workflow Stage 2 (spec + frontmatter claims). Historical HDD docs are in docs/decisions/archive/.